#include<stdio.h>
#include<string.h>

int pianxu(char s[],int len)
{ int a=0;
 for(int i=0;i<len;i++)
   for(int j=i+1;j<len;j++)
   { if(s[i]>s[j])
      a++;
   }
   return a;
}
int main(){
	int n;
	while(scanf("%d",&n)!=EOF)
	{ int m; 
	scanf("%d",&m);
	char s[m+1][n+1];
	for(int i=0;i<m;i++)
	{ scanf("%s",&s[i]);
	}
	int xu[m+1];
	int j=0;
	for(int i=0;i<m;i++)
	{ xu[j++]=pianxu(s[i],n);
	}
	int p[m+1];
	int k=0;
	for(int i=0;i<m;i++)
	{ p[k++]=i;
	}
	for(int i=0;i<m-1;i++)
	 for(int j=0;j<m-i-1;j++)
	 { if(xu[p[j]]>xu[p[j+1]])
	     { int t=p[j];
	     p[j]=p[j+1];
	     p[j+1]=t;
		 }
	 }
	 for(int i=0;i<m;i++)
	 printf("%s\n",s[p[i]]);
	 
	}
	return 0;
}